home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / textual / tex / files / !tex / TeXsource / beebe / hlp / dvi next >
Encoding:
Text File  |  1986-12-27  |  35.1 KB  |  793 lines

  1.        DVIxxx - Display TeX DVI Files on Assorted Output Devices
  2.                               [26-Dec-86]
  3.  
  4. SYNOPSIS
  5.  Several TeX DVI translators are available.  They all expect  the
  6.  name of the  .DVI file on  the command line,  and the  extension
  7.  .DVI can  always be  omitted.  As  illustrated below  (extracted
  8.  from a PHOTO log), they issue a one-line identifier message and,
  9.  if no  command  line  arguments are  given,  type  a  Unix-style
  10.  ``usage'' message.  Some of them may have additional help  files
  11.  (*note: SEE ALSO. section below).
  12.  
  13.  On case-sensitive file systems, file names may be expected to be
  14.  entirely in lower  case, so  you should  should type  ``dvialw''
  15.  instead of ``DVIALW''.
  16.  
  17.  For  all  except  DVIBIT  (which  is  intended  for  interactive
  18.  display), the output  file will be  given the name  of the  .DVI
  19.  file, but extension .DVI-xxx,  where xxx is the  three-character
  20.  mnemonic for the translator program.   For DVIBIT, output is  on
  21.  ``stdout'' which defaults to the terminal; it may be  redirected
  22.  in the usual Unix fashion  by ``>filename'' on the command  line
  23.  (e.g.  @DVIBIT foo >foo.out).
  24.  
  25.  As the .DVI file  is processed, a list  of errors is printed  on
  26.  the standard error unit ``stderr'', this list is also saved in a
  27.  file with extension .DVI-LOG.  This file is not created if there
  28.  are no  errors.  As  each  page is  printed, the  physical  page
  29.  number and the TeX  page number is  printed without a  following
  30.  character return; after the last  page, the string `` [OK]''  is
  31.  printed, followed by a carriage return.  This gives a convenient
  32.  progress report to the terminal.  If it is not wanted, then  the
  33.  error output can be  redirected into a  file (possibly the  null
  34.  device) (e.g. @DVIxxx foo &foo.err), or the ``-q'' option can be
  35.  given to suppress it.
  36.  
  37.  The  order  of  command  options  and  DVI  file  names  is  not
  38.  significant; all  switch values  apply to  all DVI  files.   DVI
  39.  files are processed in order from left to right.
  40.  
  41.  The available translators are as follows:
  42.  
  43.         DVIALW          PostScript (Apple LaserWriter)
  44.         DVIDOC          Very rough printer image of a DVI file
  45.         DVIBIT          Version 3.10 BBN BitGraph terminal
  46.         DVIGD           Golden Dawn Golden Laser 100 printer
  47.         DVIIMP          Imagen imPRESS-language laser printer
  48.                         family 
  49.         DVIJET          Hewlett-Packard Laser Jet
  50.         DVIJEP          Hewlett-Packard Laser Jet Plus
  51.         DVIM72          Apple Imagewriter 72 dpi printer
  52.         DVIMAC          Apple Imagewriter 144 dpi printer
  53.         DVIMPI          MPI Sprinter 72 dpi printer
  54.         DVIO72          OKIDATA Pacemark 2410 72 dpi printer
  55.         DVIOKI          OKIDATA Pacemark 2410 144 dpi printer
  56.         DVIPRX          Printronix 60h x 72v dpi printer
  57.         DVITOS          Toshiba P-1351 180 dpi printer
  58.         DVITYP or DVITYPE  DVI Translator for human-readable output
  59.  
  60. SAMPLE-EXECUTION
  61.  A sample execution of LATEX and DVIALW from a PHOTO log is as follows:
  62.  
  63.       @latex biblio.ltx
  64.       This is TeX, Tops-20 Version 1.1 (preloaded format=lplain 84.9.29)
  65.       (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.LTX.28
  66.       LaTeX Version 2.06a - Release 7 July 84
  67.       (APS:<TEX.LATEX>REPORT.STY.2
  68.       Document Style 'report'. Version 0.91 - released 25 June 1984
  69.       (APS:<TEX.LATEX>REP11.STY.2))
  70.       (APS:<BEEBE.PLOT79.DOCUMENTATION>MYBIBLIO.STY.1 Mybibliography
  71.       environment style - Version 0.0 - 15-May-86)
  72.       (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.AUX.12) [0]
  73.       (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO1.LTX.3 [1] [2] [3] [4] [5]) [6]
  74.       (APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.AUX.13)
  75.       (see the transcript file for additional information)
  76.       Output written on APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.DVI.1 (7
  77.       pages, 13960 bytes).
  78.       Transcript written on APS:<BEEBE.PLOT79.DOCUMENTATION>BIBLIO.LST.1.
  79.  
  80.       @dvialw -x0.3in -y0.2in biblio bt:example
  81.       [TeX82 DVI Translator Version 2.0 for PostScript [Apple LaserWriter
  82.       laser printer]]
  83.       [Input from DVI file biblio.dvi]
  84.       [Output on file biblio.dvi-alw]
  85.       [7 pages]
  86.       [1500 magnification]
  87.       [7{6}] [6{5}] [5{4}] [4{3}] [3{2}] [2{1}] [1{0}]  [OK]
  88.       [Input from DVI file bt:example.dvi]
  89.       [Output on file bt:example.dvi-alw]
  90.       [1 pages]
  91.       [1500 magnification]
  92.       [1{1}]  [OK]
  93.  
  94.  When the TOPS-20 version of TeX finishes execution, it  normally
  95.  simulates terminal input of a line of the form
  96.  
  97.  TeXspool: dvifile
  98.  
  99.  without supplying a final carriage return.  The default value of
  100.  the logical name TeXspool: points to a dummy program which  does
  101.  nothing, so if  you just  type a carriage  return yourself,  the
  102.  line is  effectively ignored.   This is  reasonable in  that  it
  103.  usually takes  several  trips  through TeX  before  you  have  a
  104.  ``.dvi'' file worth  printing.  If  you like,  you can  redefine
  105.  ``TeXspool:'' to  point to  your  favorite DVI  translator,  for
  106.  example,
  107.  
  108.  define TeXspool: sys:dvialw.exe
  109.  
  110.  Then when you type a carriage return when TeX finishes, it  will
  111.  run the translator immediately, saving you a line of typing.  If
  112.  you do not want the translator  to run, just cancel the line  by
  113.  typing CTL-U or CTL-C.
  114.  
  115.  A sample invocation of DVITYPE is as follows:
  116.  
  117.       @dvitype
  118.       DVIFILE   : dvifile
  119.       OUTPUT    : tty:
  120.       This is DVItype, Tops-20 Version 2.6
  121.       Output level (default=3, ? for help):
  122.       Starting page (default=*):
  123.       Maximum number of pages (default=1000000):
  124.       Assumed device resolution in pixels per inch (default=240/1):
  125.       New magnification (default=0 to keep the old one):
  126.       Options selected:
  127.         Starting page = *
  128.         Maximum number of pages = 1000000
  129.         Output level = 3 (the works)
  130.         Resolution =  240.00000000 pixels per inch
  131.       numerator/denominator=25400000/473628672
  132.       magnification=1000;       0.00005067 pixels per DVI unit
  133.       ' TeX output 1984.09.29:2210'
  134.       Postamble starts at byte 23408.
  135.       maxv=40763392, maxh=26738688, maxstackdepth=9, totalpages=9
  136.       Font 73: amcsc10---loaded at size 655360 DVI units
  137.       Font 72: amcsc10---loaded at size 1132462 DVI units
  138.       (this font is magnified 173%)
  139.       ...and so on...
  140.  
  141.  
  142. DESCRIPTION
  143.  These  drivers  are  written  in  C,  and  with  C  preprocessor
  144.  conditional compilation  features,  are  all  derived  from  one
  145.  master set of files, so  that there is substantial code  sharing
  146.  among them.   Host machine  and output  device dependencies  are
  147.  parametrized to allow easy movement to new hosts and new  output
  148.  devices.    Implementations   now    exist   on   Gould    Unix,
  149.  Hewlett-Packard Unix, PC-DOS,  TOPS-20, VAX Unix,  and VAX  VMS,
  150.  with others in progress.
  151.  
  152.  The command options are (letter case is IGNORED):
  153.  
  154.         -a      Implement  virtual  font  caching,  if  possible.
  155.                 When a font file is opened, a buffer is allocated
  156.                 to contain the entire file, and the file is  then
  157.                 read with  one system  call.  This  is  important
  158.                 primarily on  networked file  systems, where  the
  159.                 many random-access  calls in  the font  file  for
  160.                 small amounts of data entail substantial  network
  161.                 overhead.  With the entire  file cached in  local
  162.                 memory, this overhead is removed.  The additional
  163.                 memory required for the font file buffers amounts
  164.                 to 100K to 200K  bytes (assuming the compact  .PK
  165.                 font file format),  which is  not excessive.   If
  166.                 memory cannot be allocated for a font file,  then
  167.                 normal buffering  of  small blocks  is  used.   A
  168.                 trace option (-d64)  is provided  to monitor  the
  169.                 font caching; see below.
  170.  
  171.         -b      Backwards order printing  from the default.   For
  172.                 example, laser  printers using  the Canon  engine
  173.                 print normally  receive  pages in  reverse  order
  174.                 because they stack  printed side  up.  Some  have
  175.                 page handling  mechanisms  that stack  them  face
  176.                 down, and in such a case -b will ensure that they
  177.                 come   out   in   order   1,2,...   instead    of
  178.                 n,n-1,n-2,...
  179.  
  180.         -c#     Print # copies of each output page.  Page  copies
  181.                 are printed  consecutively;  this does  NOT  give
  182.                 multiple collated copies of the entire job.
  183.  
  184.         -d#     Produce  debugging  output  on  ``stderr''  if  a
  185.                 non-zero value is  given.  Only  the last  switch
  186.                 given is  used.   Add  values  of  the  following
  187.                 possible options to obtain the switch value:
  188.  
  189.                 1       (DVIJET only) print page bitmap in
  190.                         hexadecimal;
  191.  
  192.                 2       display page coordinates  and metrics  of
  193.                         each output  character,  and  print  each
  194.                         character bitmap in hexadecimal;
  195.  
  196.                 4       (DVIJEP  only)   display   updated   page
  197.                         coordinate of each  character after  each
  198.                         call to ``fixpos()'';
  199.  
  200.                 8       print filename  and  open  mode  of  each
  201.                         SUCCESSFUL file opening;
  202.  
  203.                 16      print filename  and  open  mode  of  each
  204.                         UNSUCCESSFUL file opening;
  205.  
  206.                 32      show discarded off-page text;
  207.  
  208.                 64      trace virtual font caching.
  209.  
  210.                 For example, -d24 will trace all attempted
  211.                 file openings.
  212.  
  213.    -eVAR=value
  214.                 Define an  environment  variable on  the  command
  215.                 line   (see   the   later   section   ENVIRONMENT
  216.                 VARIABLES).  The  acceptable values  for VAR  are
  217.                 DVIHELP,  FONTLIST,   TEXFONTS,  and   TEXINPUTS.
  218.                 Under normal use of the Translators, these can be
  219.                 set by TOPS-20 and VAX VMS ``define VAR:  value''
  220.                 commands, or by Unix ``csh'' ``setenv VAR=value''
  221.                 or  ``sh''  ``VAR=value''  commands.   When   the
  222.                 translator is invoked by another program, such as
  223.                 a print spooler,  on some systems  it may not  be
  224.                 possible  to  set  a  particularly  value  of  an
  225.                 environment variable for the subprocess, so  this
  226.                 option gets around this limitation.  On most Unix
  227.                 systems, it should  be possible to  use the  call
  228.                 ``system("VAR=value; dvixxx filename")''.
  229.  
  230.         -ffontsubfile
  231.                 Define an alternate font substitution file  which
  232.                 is to be  used instead of  the default ones  (see
  233.                 below).
  234.  
  235.         -l      Inhibit logging.
  236.  
  237.         -m#
  238.                 Reset magnification to #.       The  default  for
  239.                 low
  240.                 resolution printers is ``-m579'',       corresponding   to
  241.                 (1/1.2**3) magnification.       By            TeX
  242.                 conventions, magnification 1000 corresponds to  a
  243.                 200-dot/inch   output   device.    The    default
  244.                 magnification is always adjusted according to the
  245.                 output device  resolution  in  order  to  give  a
  246.                 normal page size, so this parameter should rarely
  247.                 be required.  Legal values are int((1000 or  1440
  248.                 or 1500)*(1.2)**(k/2)) (k = -16,16); other values
  249.                 will be set to the  nearest in this family.   Not
  250.                 all fonts will be  available in this wide  range,
  251.                 and most installations will probably have only  a
  252.                 half dozen or so magnifications.
  253.  
  254.         -o# and -o#:# and -o#:#:#
  255.                 Specify a page number, or range of page  numbers,
  256.                 to be selected  for output.  In  the third  form,
  257.                 the last number is the page number step size;  it
  258.                 is normally 1.  This option may be specified  any
  259.                 number of times.   If it is  not specified,  then
  260.                 all pages will be printed.  Pages are numbered in
  261.                 order 1,2,3,...  in the file, but any page number
  262.                 recorded by  TeX  on  the printed  page  will  in
  263.                 general be different.
  264.  
  265.                 Negative page numbers count  backward; -1 is  the
  266.                 last page  in the  document, -2  the second  last
  267.                 page, and so on.
  268.  
  269.                 As pages  are  selected for  printing,  ``[#{#}''
  270.                 will be printed on ``stderr'', where the first is
  271.                 the page number  in the file,  and the second  is
  272.                 the value  of  the TeX  counter,  \count0,  which
  273.                 usually records  the printed  page number.   When
  274.                 the page is  completely output,  a closing  ``]''
  275.                 will  be  printed   on  ``stderr''.   Any   error
  276.                 messages  from  processing  of  that  page   will
  277.                 therefore occur between the square brackets.  For
  278.                 example, ``-o1:3  -o12  -o17:23  -o-3:-1''  would
  279.                 select pages 1, 2, 3, 12, 17, 18, 19, 20, 21, 22,
  280.                 and 23, plus the last three pages.
  281.  
  282.                 Pages  will  always  be   printed  in  an   order
  283.                 appropriate for  the  device so  that  the  first
  284.                 document  page  occurs  first  face  up  in   the
  285.                 document stack; the ``-b'' option can be used  to
  286.                 reverse   this   order.    For   example,    some
  287.                 Hewlett-Packard  Laser  Jet  Plus  printers   are
  288.                 equipped with a page flipper which stacks  output
  289.                 face down;  for  these, the  ``-b''  option  will
  290.                 ensure that the  pages come out  in the  expected
  291.                 order.
  292.  
  293.                 Specification of  a  page  number  step  size  is
  294.                 useful for producing duplex (two-sided) printing.
  295.                 For example, with laser printers using the  Canon
  296.                 LBP-CX  engine,  the  first  run  could   specify
  297.                 ``-o1:9999:2'', which would stack output face up,
  298.                 beginning with  the last  page, and  ending  with
  299.                 page 1 on  top.  The  printed pages  can then  be
  300.                 reinserted in the input tray  FACE UP, page 1  on
  301.                 the top, exactly as they were found in the output
  302.                 tray, with  the  top  of the  page  in  the  tray
  303.                 closest to the end  which is inserted first  into
  304.                 the printer.  A second run with ``-b -o2:9999:2''
  305.                 would then print pages 2, 4, ..., on the backs of
  306.                 pages 1, 3,  ...; note the  ``-b'' option to  get
  307.                 backwards order on the second run.
  308.  
  309.                 There is a bug  in Microsoft C's ``sscanf()''  on
  310.                 the IBM PC; it does not correctly parse input  on
  311.                 the format  "%d:%d:%d"  in ``option()''  for  the
  312.                 page number  switch.   It correctly  returns  the
  313.                 numbers, but instead of  returning the number  of
  314.                 such items parsed,  it returns  -1, which  should
  315.                 only happen if  none are parsed.   A work  around
  316.                 seems to be  to supply  a trailing  colon on  the
  317.                 switch, so that  you write  ``-o17:'' instead  of
  318.                 ``-o17''.
  319.  
  320.         -p      Inhibit font preloading.  This may produce output
  321.                 a few seconds earlier when all pages are  output,
  322.                 but  should   have  negligible   effect  on   the
  323.                 execution time, and consequently, should normally
  324.                 not be  specified.   When  individual  pages  are
  325.                 being printed with the -o# option, preloading  is
  326.                 necessary (and will be forced) to ensure that all
  327.                 fonts are defined before they are referenced.
  328.  
  329.         -q      Quiet mode.   Status displays  to ``stderr''  are
  330.                 suppressed, unless warning or error messages  are
  331.                 issued.
  332.  
  333.         -r#     (Device = HP Laser Jet only).  Specify the  Laser
  334.                 Jet output resolution  in dots  per inch.   ``#''
  335.                 must be one of 75, 100, 150, or 300.  The  actual
  336.                 plot file  is identical  in each  case; only  the
  337.                 size on the output  page is changed, because  the
  338.                 resolution change is effected by printing 1 x  1,
  339.                 2 x 2, 3 x 3, or 4 x 4 pixel blocks.
  340.  
  341.         -r      (Device  =  Golden   Laser  100  only).    Select
  342.                 run-length encoding  of  the output  file.   This
  343.                 reduces disk space typically  by 10% to 40%,  but
  344.                 increases host CPU  time for  the preparation  of
  345.                 the output file.
  346.  
  347.         -r      (Device  =  Apple   ImageWriter  only).    Select
  348.                 run-length encoding of the output file.
  349.  
  350.         -r      (Device   =   Toshiba   P-1351   only).    Select
  351.                 run-length encoding  of  the output  file.   This
  352.                 reduces disk space typically  by 10% to 40%,  but
  353.                 increases host CPU  time for  the preparation  of
  354.                 the output file, and because of poor logic in the
  355.                 printer, may double  the print  time!  The  print
  356.                 quality is  also  substantially  worse,  so  this
  357.                 option is generally NOT recommended.
  358.  
  359.         -s#     (Device  =   Apple  LaserWriter   only).    Force
  360.                 characters larger than #  pixels wide or high  to
  361.                 be reloaded  each time  they are  required.   The
  362.                 Version 23.0  PostScript  interpreter has  a  bug
  363.                 which manifests  itself  in  fatal  ``VM  error''
  364.                 messages  when  large  characters  are  sent.   A
  365.                 reasonable default value  has been  set for  this
  366.                 which  should   normally   avoid   the   problem.
  367.                 Specifying ``-s0'' will cause reloading of  every
  368.                 character each time it is used.
  369.  
  370.         -v      (Device  =   Apple  LaserWriter   only).    Force
  371.                 reloading of all required fonts at start of  each
  372.                 page.
  373.  
  374.         -x#bp   big point (1in = 72bp)
  375.         -x#cc   cicero (1cc = 12dd)
  376.         -x#cm   centimeter
  377.         -x#dd   didot point (1157dd = 1238pt)
  378.         -x#in   inch
  379.         -x#mm   millimeter (10mm = 1cm)
  380.         -x#pc   pica (1pc = 12pt)
  381.         -x#pt   point (72.27pt = 1in)
  382.         -x#sp   scaled point (65536sp = 1pt)
  383.                 The ``-x'' options specify the left margin of the
  384.                 TeX page  on  the  output  page  in  any  of  the
  385.                 indicated units.  Letter case is not  significant
  386.                 in the unit  field, which must  not be  separated
  387.                 from  the  number  by   any  space.   #  may   be
  388.                 fractional.     For     example,     ``-x1.0in'',
  389.                 ``-x2.54cm'', ``-x72.27pt'',  and  ``-x6.0225pc''
  390.                 all specify  a one  inch left  margin.   Negative
  391.                 values are permissible, and may be used to  shift
  392.                 the output page left  (possibly truncating it  on
  393.                 the left) in order to display a wide TeX page.
  394.  
  395.         -y#     inch
  396.         -y#bp   big point (1in = 72bp)
  397.         -y#cc   cicero (1cc = 12dd)
  398.         -y#cm   centimeter
  399.         -y#dd   didot point (1157dd = 1238pt)
  400.         -y#in   inch
  401.         -y#mm   millimeter (10mm = 1cm)
  402.         -y#pc   pica (1pc = 12pt)
  403.         -y#pt   point (72.27pt = 1in)
  404.         -y#sp   scaled point (65536sp = 1pt)
  405.                 The ``-y'' options specify the top margin of  the
  406.                 TeX page  on  the  output  page  in  any  of  the
  407.                 indicated units.  Letter case is not  significant
  408.                 in the unit  field, which must  not be  separated
  409.                 from  the  number  by   any  space.   #  may   be
  410.                 fractional.     For     example,     ``-y1.0in'',
  411.                 ``-y2.54cm'', ``-y72.27pt'',  and  ``-y6.0225pc''
  412.                 all specify  a  one inch  top  margin.   Negative
  413.                 values are permissible, and may be used to  shift
  414.                 the output page up (possibly truncating it on the
  415.                 top) in order to display a long TeX page.
  416.  
  417.    -z
  418.                 (Device = Apple LaserWriter  or HP LaserJet  Plus
  419.                 on TOPS-20 only).  For  each DVI file  processed,
  420.                 type in an EXEC command ``DVISPOOL: dvifilename''
  421.                 followed by a newline;  the user may then  define
  422.                 DVISPOOL:  to  be  a  program  which  sends   the
  423.                 translation of the  DVI file  to the  appropriate
  424.                 output spooler.
  425.  
  426.  If no ``-ffontsubfile'' option  is given, and font  substitution
  427.  is required, if the current DVI file is foo.dvi, then the  files
  428.  ``foo.sub'',  ``texfonts.sub'',  and  ``texinputs:texfonts.sub''
  429.  will be tried  in order.   The first two  will be  found on  the
  430.  current directory, and  the last  is the  system default.   This
  431.  gives  the  option  of  document-specific,  user-specific,   and
  432.  system-specific substitutions, and the ``-f'' option allows  all
  433.  of these to be overridden.
  434.  
  435.  
  436.  Font substitution lines have the form:
  437.  
  438.  % comment
  439.  oldname.oldmag  ->     subname.submag  % comment
  440.  oldname oldmag  ->     subname submag  % comment
  441.  oldname         ->     subname         % comment
  442.  
  443.  Examples are:
  444.  
  445.  % These provide replacements for some LaTeX invisible fonts:
  446.  iamr10 1500    ->      amr10 1500      % comment
  447.  iamr10.1500    ->      amr10.1500      % comment
  448.  iamssb8        ->      amssb8          % comment
  449.  
  450.  The first two  forms request substitution  of a particular  font
  451.  and magnification.  The  third form substitutes  an entire  font
  452.  family; the closest available magnification to the required  one
  453.  will be  used.  Any  dots  in the  non-comment portion  will  be
  454.  converted to spaces,  and therefore,  cannot be part  of a  name
  455.  field.
  456.  
  457.  The  first   matching   substitution  will   be   selected,   so
  458.  magnification-specific  substitutions  should  be  given  first,
  459.  before family substitutions.
  460.  
  461.  Comments are introduced by percent and continue to  end-of-line,
  462.  just as for TeX.  One whitespace character is equivalent to  any
  463.  amount of whitespace.  Whitespace and comments are optional.
  464. SCREEN-CONTROL
  465.  
  466.  At present,  DVIBIT is  the only  family member  which  supports
  467.  interactive  viewing   of  the   TeX  output.    The   following
  468.  description therefore applies only to it, but the  functionality
  469.  should be adhered to in any new interactive device drivers.
  470.  
  471.  All switches, including the page selection (-o) and page  origin
  472.  (-x and  -y)  switches,  work normally.   When  the  end-of-page
  473.  command is reached in the DVI  file, the driver will display  at
  474.  the top of the screen a two-line message containing a help  menu
  475.  and the current  page numbers  in the document,  then pause  for
  476.  terminal input.  Any typeahead  is flushed before reading  input
  477.  to make sure the user is synchronized with the display, and  any
  478.  illegal input is discarded with  a warning beep.  The input  can
  479.  select
  480.  
  481.     *    redisplay of the current page, possibly shifting it  up,
  482.          down, left, or right, to see more of it, or to restore a
  483.          display trashed  by  an  unexpected  system  message  or
  484.          transmission line error;
  485.  
  486.     *    continuation to the next page in the page list  selected
  487.          by default or by the -o option;
  488.  
  489.     *    backing  up  to  the   previous  page  (useful  if   you
  490.          overshoot);
  491.  
  492.     *    display of  an arbitrary  page  by typing  its  sequence
  493.          number;
  494.  
  495.     *    termination of execution.
  496.  
  497.  Although the menu bar on the top line displays only a subset  of
  498.  the possible commands,  a number  of synonyms  are provided  for
  499.  user convenience.  In particular, arrow  keys in VT52 and  VT100
  500.  modes are recognized, as are EMACS control-character commands to
  501.  move the cursor or page display.
  502.  
  503.  The display  shifts by  a  quarter of  its  height or  width  in
  504.  response to an up, down, left, or right movement command.
  505.  
  506.  Here is the current  command list.  For single-letter  commands,
  507.  letter-case is not significant.  In most implementations,  input
  508.  is immediate;  no  terminating  carriage  return  is  necessary.
  509.  Consequently, typing error correction is supported only for  the
  510.  digit string command.
  511.  
  512.     arrow keys
  513.         Move the display up, down, left, or right.
  514.  
  515.     D or CTL-N
  516.         Move the display down.
  517.  
  518.     U or CTL-P
  519.         Move the display up.
  520.  
  521.     L or CTL-B
  522.         Move the display left.
  523.  
  524.     R or CTL-F
  525.         Move the display right.
  526.  
  527.     . or CTL-L
  528.         Redisplay current page.
  529.  
  530.     CARET or BACKSPACE
  531.         Redisplay previous page.
  532.  
  533.     nnn
  534.         nnn is a digit  string; DELETE/RUBOUT and BACKSPACE  keys
  535.         correct typing errors in it.  Move to nnn-th page,  where
  536.         document pages  are numbered  1, 2,  ....  The  TeX  page
  537.         numbers are  displayed  under the  menu  bar. This  is  a
  538.         recursive display; if you  respond at end-of-page with  a
  539.         next-page  command,  display  will  revert  to  the  page
  540.         sequence you were viewing when  you first issued the  nnn
  541.         command.
  542.  
  543.     SPACE or RETURN or CTL-V
  544.         Display next page.
  545.  
  546.     Q or X
  547.         Quit or exit.  The screen will be cleared and the terminal
  548.         restored to its normal font and emulation mode.
  549.  
  550.  
  551.  
  552. SPECIALS
  553.  The TeX \special command is intended to allow the  specification
  554.  in a ``.TEX'' file of a  request to the DVI driver, usually  for
  555.  the insertion  of  graphical  material  at  that  point  in  the
  556.  document.  It is  currently implemented only  for DVIALW;  other
  557.  drivers will simply issue a warning message.
  558.  
  559.  The TeX \special command is expected to look like
  560.  
  561.      \special{overlay filename} % absolute positioning
  562.  or
  563.      \special{include filename} % relative positioning
  564.  or
  565.      \special{insert filename}  % relative positioning
  566.  
  567.  In the first case,  the PostScript file to  be included will  be
  568.  mapped onto the page at precisely the coordinates it  specifies.
  569.  In the other two  cases, the upper-left  corner of the  bounding
  570.  box will be placed  at the current  point.  The PostScript  file
  571.  must then contain (usually near the start) a comment of the form
  572.  
  573.  %%BoundingBox: llx lly urx ury
  574.  
  575.  specifying  the   bounding   box  lower-left   and   upper-right
  576.  coordinates  in   standard   PostScript   units   (1/72   inch).
  577.  Alternatively, if the comment
  578.  
  579.  %%BoundingBox: (atend)
  580.  
  581.  is found in the file, the last 1000 characters of the file  will
  582.  be searched to find a comment of the form:
  583.  
  584.  %%BoundingBox: llx lly urx ury
  585.  
  586.  If the PostScript file cannot be opened, or the \special command
  587.  string cannot be  recognized, or for  relative positioning,  the
  588.  bounding box cannot be determined,  a warning message is  issued
  589.  and the \special command is ignored.
  590.  
  591.  Otherwise, the  section  of  the  PostScript  file  between  the
  592.  comment lines
  593.  
  594.  %begin(plot)
  595.  %end(plot)
  596.  
  597.  is copied to the output file surrounded by
  598.  
  599.  save
  600.  300 72 div 300 72 div scale % revert to standard 1/72 inch units
  601.  (xcp(in 1/72in)-llx) (ycp(in 1/72in)-ury) translate  % if relative positioning
  602.  ...PostScript file contents...
  603.  restore
  604.  
  605.  Plot files produced by <PLOT79>  have all the expected  commands
  606.  in them to allow  their use in TeX  \special commands.  The  two
  607.  <PLOT79> parameters which influence the size of the plot are
  608.  
  609.         * the device size  specified in the  call to SETSZ();  it
  610.           defaults to 11in if SETSZ is not called.
  611.  
  612.         * the device space specified in  the call to SETDS2()  or
  613.           SETDS3(); it defaults  in the CORE  system to the  unit
  614.           square,  but  if  the  <PLOT79>  framing  routines  are
  615.           called,  they  will  reset   the  device  space  to   a
  616.           horizontal or  vertical  frame in  proportions  of  the
  617.           local standard paper size ($1 : 8.5/11$ in the USA).
  618.  
  619.  For example, if a device size of 5in is specified for a standard
  620.  horizontal frame, the bounding  box will be  declared to be  5in
  621.  wide and  (8.5/11.0)*5  = 3.8636in  high,  so a  TeX  manuscript
  622.  requiring the  plot could  have the  following commands  at  the
  623.  start of a new paragraph:
  624.  
  625.  \special{include plotfilename}
  626.  \vspace*{3.9in}
  627.  
  628. ENVIRONMENT-VARIABLES
  629.  The behavior  of  the  DVI  translators  can  be  influenced  by
  630.  definition  of  logical  names  on  TOPS-20  and  VAX  VMS,   or
  631.  environment variables in UNIX and PC-DOS.  Compiled-in  internal
  632.  defaults will  be  provided  for  any of  these  which  are  not
  633.  defined.  The names currently recognized are as follows:
  634.  
  635.  DVIHELP        This variable  defines an  alternate help  string
  636.                 which is  typed  when  the user  makes  an  input
  637.                 error.  It should direct  the user to  additional
  638.                 documentation.  For  example, it  might be  ``try
  639.                 HELP DVI or XINFO DVI''.
  640.  
  641.  FONTLIST       Normally, the  drivers  are  prepared  to  search
  642.                 first for .PK,  then .GF, then  .PXL font  files.
  643.                 This variable can be  used to change this  search
  644.                 order,   or   remove   one   or   more   of   the
  645.                 possibilities.  It  is  expected  to  contain  at
  646.                 least one of the strings PK, GF, or PXL, possibly
  647.                 separated  by  arbitrary  punctuation  and  other
  648.                 text.   For   example,   ``PXL-then-PK-then-GF'',
  649.                 ``PK-GF'', ``PXL'', ``PXL/GF/PK''.
  650.  
  651.  TERM           This variable is used only for DVIBIT; if it does
  652.                 not evaluate  to either  ``bitgraph'' or  ``bg'',
  653.                 DVIBIT will refuse to run.  On Unix, this is  the
  654.                 conventional way of defining terminal types  with
  655.                 the TERMCAP or TERMINFO systems.
  656.  
  657.  TEXFONTS       This defines the directory path for finding  font
  658.                 files.  Its value is prepended  to the name of  a
  659.                 TeX font to get  a full file specification.   For
  660.                 example ``cmr10'' on a 300-dot/inch device  might
  661.                 correspond    on    TOPS-20    to    the    files
  662.                 ``texfonts:cmr10.300gf'',
  663.                 ``texfonts:cmr10.300pk'', or
  664.                 ``texfonts:cmr10.300pxl''.
  665.  
  666.  TEXINPUTS      This defines the directory path for finding files
  667.                 which are not in  the current working  directory.
  668.                 It is PREPENDED to file names.
  669.  
  670. IBM-PC-Caveats
  671.  The latest  version  of  the  drivers  has  been  compiled  with
  672.  Microsoft C Version 4.0.  With Version 3.0, some ``.dvi''  files
  673.  experienced a fatal ``floating-point stack overflow'' error both
  674.  with and without a floating-point coprocessor; this can only  be
  675.  due to code generation errors,  and it disappeared with  Version
  676.  4.0.
  677.  
  678.  PC-DOS by  default has  only a  small number  of available  open
  679.  files, and this number is not adequate for the drivers with  the
  680.  value of five for ``MAXOPEN''  set in ``machdefs.h''.  You  need
  681.  to increase the limits by entering the lines
  682.  
  683.  FILES=10
  684.  BUFFERS=10
  685.  
  686.  in the ``config.sys''  file in the  boot directory, then  reboot
  687.  the system to have  the new values  take effect.  Larger  values
  688.  are of course  possible, though ``FILES=20''  is the limit  with
  689.  current versions of PC-DOS.   Run-time performance can be  quite
  690.  sensitive to these settings, so you may wish to experiment.
  691.  
  692.  If there is no ``config.sys'' file, or the settings of ``FILES''
  693.  and ``BUFFERS'' are too small,  you will find the disk  whirring
  694.  madly  while  the  driver  attempts  to  open  font  files  with
  695.  neighboring magnifications, and then it will finally die with  a
  696.  message ``unable  to  open .err  file''.   Use of  the  ``-d24''
  697.  option may be useful in tracking how many files can successfully
  698.  be opened (that is why I added that switch option).
  699.  
  700.  The  drivers  have  been  loaded  with  the  default   Microsoft
  701.  floating-point library; the compiler generates calls to  library
  702.  routines which test  a flag  initialized at  startup time  which
  703.  indicates  the  presence  or   absence  of  the   floating-point
  704.  coprocessor chip.  If it is available, the library routines will
  705.  automatically use it.  You can force  the chip to be ignored  by
  706.  defining an arbitrary non-empty string value for the environment
  707.  variable ``NO87'', for example
  708.  
  709.  set NO87=no-8087-available
  710.  
  711.  When the DVI translator runs, the value of this variable  should
  712.  be typed on the screen as  the first output line.  On a  Leading
  713.  Edge PC, this typeout does not appear, for unknown reasons.   On
  714.  my 4.77MHz PC XT, the translators  run twice (!) as slowly  when
  715.  ``NO87'' is defined.
  716.  
  717.  The reason that you might need  to know this is that the  method
  718.  employed by the library routines  for detecting the presence  or
  719.  absence of an 8087 (or 80287) chip is not infallible, thanks  to
  720.  design flaws of some PC's and possibly also the Intel chips.  It
  721.  is conceivable that the library  might think a coprocessor  chip
  722.  is present, when in fact it is not, and the first floating-point
  723.  instruction executed would hang the machine.
  724.  
  725. FILES
  726.  *.dvi                  TeX DeVice Independent output file
  727.  
  728.  *.dvi-log              TeX DVIxxx translator error log
  729.  
  730.  *.err                  TeX DVIxxx translator error log when long
  731.                         extensions are not available
  732.  
  733.  *.dvi-xxx              TeX   device-dependent   DVI   translator
  734.                         output file
  735.  
  736.  *.xxx                  TeX DVIxxx  translator output  file  when
  737.                         long extensions are not available
  738.  
  739.  *.sub                  DVI file-specific font substitution file
  740.  
  741.  DVISPOOL:              Logical  name  (TOPS-20  only)   defining
  742.                         program which  sends translation  of  DVI
  743.                         file to the appropriate output spooler.
  744.  
  745.  texfonts.sub           Job-wide font substitution file
  746.  
  747.  texfonts:*.*pxl        TeX default font rasters
  748.  
  749.  texfonts:*.*gf         TeX default font rasters
  750.  
  751.  texfonts:*.*pk         TeX default font rasters
  752.  
  753.  texinputs:dvialw.ps    PostScript   header    file    containing
  754.                         standard macro  definitions  prefixed  to
  755.                         PostScript output from DVIALW
  756.  
  757.  texinputs:texfonts.sub System-wide font substitution file
  758.  
  759. SEE-ALSO
  760.  dvitype,  tex,  ``Local  LaTeX  Guide'',  ``A  TeX  DVI   Driver
  761.  Family''.
  762.  
  763. BUGS
  764.  None known.
  765.  
  766.  
  767. AUTHORS
  768.  David Fuchs  at Stanford  University wrote  DVITYPE in  WEB  and
  769.  defined the DVI file format.
  770.  
  771.  Mark Senn at  Purdue University wrote  a preliminary version  of
  772.  the BBN BitGraph driver in C, using DVITYPE as a model.
  773.  
  774.  Stephan v. Bechtolsheim and Bob Brown at Purdue, Robert Wells at
  775.  BBN, and  Jim Schaad  and Richard  Furuta at  the University  of
  776.  Washington, improved it.
  777.  
  778.  The transformation to about a  dozen other device drivers,  plus
  779.  the massive code rearrangement for many new features as well  as
  780.  easy identification of host-  and device-dependent sections,  as
  781.  well as support for ``.pk'' and ``.gf'' compact font files,  was
  782.  carried out at the University of Utah by Nelson H.F.  Beebe.  He
  783.  also wrote the documents ``A TeX DVI Driver Family'' and ``Using
  784.  LaTeX  at the  University of Utah  College of Science  DEC-20''.
  785.  The first  describes all  of these  drivers in  detail, and  the
  786.  second is the ``Local LaTeX Guide''.
  787.  
  788.  Lon Willett at Utah adapted DVIJEP to make DVIIMP for the Imagen
  789.  laser printer family.
  790.  
  791.  Norman Naugle and colleagues at Texas A&M implemented the family
  792.  on several new systems.
  793.